package com.icinfo.cloud.provider.punish.mapper;

import com.icinfo.cloud.provider.punish.dto.CaseDocumentRecordSignSaveDto;
import com.icinfo.cloud.provider.punish.ucase.casemain.dto.CaseDocumentRecordDto;
import com.icinfo.cloud.provider.punish.ucase.casemain.model.CaseDocumentRecord;
import com.icinfo.framework.mybatis.mapper.common.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CaseDocumentRecordMapper  extends Mapper<CaseDocumentRecord> {
    /**
     * 根据caseId和documentKindCode获取文书记录
     *
     * @param caseId           用例id
     * @param documentKindCode 文件类型代码
     * @return {@link CaseDocumentRecord }
     * @author shishengyao
     * @date 2022/04/10
     */
    CaseDocumentRecordDto selectCaseDocumentRecordByKindCode(@Param("caseId") String caseId, @Param("documentKindCode") String documentKindCode);

    /**
     * 描述：根据案件id撤销程序简易文书
     *
     * @param caseId 用例id
     * @author shishengyao
     * @date 2022/11/24
     */
    void updateRecallSimpleCaseDocumentRecordByCaseId(@Param("caseId") String caseId);

    /**
     * 根据caseId获取需要签字的文书记录
     *
     * @param caseId
     * @return {@link List <CaseDocumentRecordDto> }
     * @author WangJie
     * @date 2022/12/05
     */
    List<CaseDocumentRecordDto> selectAppFastCaseSignDocumentListByCaseId(@Param("caseId") String caseId);

    /**
     *  根据caseId查询审批文书
     *
     * @param saveDto
     * @return
     */
    CaseDocumentRecordDto getApprovalDocumentRecordByCaseId(@Param("param") CaseDocumentRecordSignSaveDto saveDto);
}
